#ifndef ODN_GameStateMgr_H
#define ODN_GameStateMgr_H

#include "ODN_GameState.h"

//TODO: Change name to GameStateManager and derive BaseGame from it and make sure that will work with singletons
//TODO: Think about building GameStateMgr into BaseGame for input

namespace ouden {

class CGameState;

class CGameStateMgr
{
	public:
		CGameManager();
		~CGameManager();
		
		void changeState(GameState* state);
		void pushState(GameState* state);
		void popState();
		
	protected:
		
	private:
		
		Array<GameState*> m_pStates;
		
};

} //namespace ouden

#endif //ODN_GameStateMgr_H